使用Hibernate处理Oracle中的Blob字段
写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob
1. Bolb类型字段说明:
写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢?
这需要你先插入一个empty的blob,这将创建一个blob的cursor,然后你再把这个empty的blob的cursor用select查询出来,这样通过两步操作,你就获得了blob的cursor,,可以真正的写入blob数据了。
2. Bolb类型字段保存:
Hibernate的配置文件就不写了 ,需要将Blob字段了类型设为java.sql.Blob,下面直接上代码
public void save(ZyglBlxx bean, InputStream ins) throws WebServiceException {
// TODO Auto-generated method stub
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
//ins.
//out.write(b)
try {
bean.setDoccontent(BLOB.getEmptyBLOB());
Transaction tr = session.beginTransaction();
bean.setVId(WebServiceEditUtils.getPk());
session.save(bean);
session.flush();
session.refresh(bean, LockMode.UPGRADE);
if(ins!=null){
SerializableBlob sb = (SerializableBlob)bean.getDoccontent();
BLOB b = (BLOB)sb.getWrappedBlob();
OutputStream out = b.getBinaryOutputStream();
int len=-1;
byte[] bt = new byte[2048]; //可以根据实际情况调整,建议使用1024,即每次读1KB
while((len=(ins.read(bt))) != -1) {
out.write(bt,0,len); //建议不要直接用os.write(bt)
}
out.flush();
ins.close();
out.close();
}
session.flush();
tr.commit();
session.close();
} catch (IOException e) {
e.printStackTrace();
throw ExceptionManager.getExcption("18");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw ExceptionManager.getExcption("19");
}
}
为了保存文件时比较方便我这里的参数直接接收为InputStream,其他类型类似
Hibernate 的详细介绍:请点这里
Hibernate 的下载地址:请点这里
Hibernate 中文手册 PDF

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Intégration d'Hibernate dans le projet SpringBoot Préface Hibernate est un framework ORM (Object Relational Mapping) populaire qui peut mapper des objets Java à des tables de base de données pour faciliter les opérations de persistance. Dans le projet SpringBoot, l'intégration d'Hibernate peut nous aider à effectuer plus facilement des opérations de base de données. Cet article présentera comment intégrer Hibernate dans le projet SpringBoot et fournira des exemples correspondants. 1.Introduire les dépendancesIntroduire les dépendances suivantes dans le fichier pom.xml : org.springframework.bootspring-boot-starter-data-jpam

Java est un langage de programmation orienté objet largement utilisé dans le domaine du développement de logiciels. Hibernate est un framework de persistance Java populaire qui fournit un moyen simple et efficace de gérer la persistance des objets Java. Cependant, des erreurs Hibernate sont souvent rencontrées au cours du processus de développement, et ces erreurs peuvent entraîner une fin anormale du programme ou devenir instable. Comment gérer et éviter les erreurs Hibernate est devenu une compétence que les développeurs Java doivent maîtriser. Cet article présentera quelques Hib courants

Les différences entre hibernate et mybatis : 1. Méthode de mise en œuvre ; 2. Performances 3. Comparaison de la gestion des objets ; Introduction détaillée : 1. Méthode d'implémentation, Hibernate est une solution complète de mappage objet/relationnel qui mappe les objets aux tables de base de données, tandis que MyBatis oblige les développeurs à écrire manuellement des instructions SQL et ResultMap 2. Performances, Hibernate est possible en termes de vitesse de développement Plus rapide que ; MyBatis car Hibernate simplifie la couche DAO et ainsi de suite.

Hibernate un-à-plusieurs et plusieurs-à-plusieurs d'Hibernate est un excellent framework ORM qui simplifie l'accès aux données entre les applications Java et les bases de données relationnelles. Dans Hibernate, nous pouvons utiliser des relations un-à-plusieurs et plusieurs-à-plusieurs pour gérer des modèles de données complexes. Le un-à-plusieurs d'Hibernate Dans Hibernate, une relation un-à-plusieurs signifie qu'une classe d'entité correspond à plusieurs autres classes d'entités. Par exemple, une commande peut correspondre à plusieurs articles de commande (OrderItem), et un utilisateur (User) peut correspondre à plusieurs commandes (Order). Pour implémenter une relation un-à-plusieurs dans Hibernate, vous devez définir un attribut de collection dans la classe d'entité à stocker

Hibernate est un framework ORM open source qui lie le mappage des données entre les bases de données relationnelles et les programmes Java, facilitant ainsi l'accès des développeurs aux données de la base de données. L'utilisation du framework Hibernate peut réduire considérablement le travail d'écriture des instructions SQL et améliorer l'efficacité du développement et la réutilisabilité des applications. Présentons le framework Hibernate sous les aspects suivants. 1. Avantages du framework Hibernate : mappage objet-relationnel, masquage des détails d'accès à la base de données, réalisation du développement

La mise en cache permet de réduire les appels réseau de base de données lors de l'exécution de requêtes. Cache de niveau 1 et liaison de session. Il est implémenté implicitement. Le cache de premier niveau existe jusqu'à ce que l'objet de session existe. Une fois l’objet de session terminé/fermé, il n’y aura aucun objet mis en cache. Le cache de deuxième niveau fonctionne pour plusieurs objets de session. Il est lié à la fabrique de sessions. Les objets de cache de deuxième niveau sont disponibles pour toutes les sessions à l'aide d'une seule fabrique de sessions. Ces objets de cache prendront fin lorsqu'une fabrique de sessions spécifique sera fermée. Pour implémenter le cache de deuxième niveau, nous devons ajouter les dépendances suivantes pour utiliser le cache de deuxième niveau. <!--https://mvnrepository.com/artifact/net.sf.ehcache/ehcache--><de

Dans cet article, nous verrons comment effectuer une insertion/mise à jour groupée dans Hibernate. Chaque fois que nous exécutons une instruction SQL, nous le faisons en effectuant un appel réseau à la base de données. Désormais, si nous devons insérer 10 entrées dans la table de la base de données, nous devons alors effectuer 10 appels réseau. Au lieu de cela, nous pouvons optimiser les appels réseau en utilisant le traitement par lots. Le traitement par lots nous permet d'exécuter un ensemble d'instructions SQL en un seul appel réseau. Pour comprendre et mettre en œuvre cela, définissons notre entité - @EntitypublicclassParent{@Id@GeneratedValue(strategy=GenerationType.AUTO)

1. Le mappage hibernate configure la balise de classe, qui est utilisée pour établir la relation entre la classe et le nom de la table : nom de la classe, table : balise d'identification du nom de la table, la relation correspondante entre l'attribut en cours d'établissement et la clé primaire dans la table. propriété, et l'établissement des attributs ordinaires dans la classe. La relation correspondante avec les champs de la table (1) Tout d'abord, nous devons apprendre à écrire le fichier de configuration de mappage. Tout le monde doit savoir que le fichier de configuration de mappage écrit doit être. dans le même package que la classe d'entité, et le nom doit être nom de classe.hbm.xml Nous devons donc créer un fichier Customer.hbm.xml sous le package com.meimeixia.hibernate.demo01, mais comment doivent être ses contraintes. écrit? Disponible à Hiberna
