草庐IT

Hibernate

全部标签

java - CrudRepository 自定义方法实现?

我正在阅读有关Crudrepository的信息,它是针对特定类型的存储库进行通用CRUD操作的接口(interface)。但我们可以创建自定义界面并扩展CrudRepository。我看了网上的例子,发现他们没有在任何地方提供实现。Sample:@TransactionalpublicinterfaceUserDaoextendsCrudRepository{/***Returntheuserhavingthepassedemailornullifnouserisfound.**@paramemailtheuseremail.*/publicUserfindByEmail(Strin

java - Hibernate 升级到 5.2 - 创建 session 工厂并替换 PersistentClass 以获取实体类属性

我目前正在将我的Hibernate版本升级到最新版本5.2.10。我在HibernateUtil中替换了我的代码以创建SessionFactory。4.3.11.Final(上一版):publicclassHibernateUtil{privateHibernateUtil(){}privatestaticSessionFactorysessionFactory;privatestaticConfigurationconfiguration;publicstaticConfigurationgetConfiguration(){returnconfiguration;}privates

java - 使用hibernate jpa进行JSON序列化和反序列化以在JSON响应中将父对象转换为子对象

我正在使用spring框架、Hibernate和JSON开发restweb应用程序。请假设我有两个如下所示的实体:基础实体.java@MappedSuperclass@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="id")publicabstractclassBaseEntityimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privatelongid;publiclong

java - 如何在 Hibernate 中映射一组枚举类型?

在hibernate中,是否可以为一个类定义一个映射到一组枚举?我已经能够找到有关如何定义集合映射的示例,并且已经能够找到有关如何映射枚举的单独示例,但我无法弄清楚如何为类定义枚举。谁能给我举个例子吗?这是在现有应用程序之上构建的,因此我无法更改数据库架构。这是我想要建模的关系。Wicket是一个普通类,WicketType是一个Java枚举。+----------------++------------++------------+|Wicket||RefTable||WicketType|+----------------++------------++------------+|

java - 使用 Hibernate 的二级缓存时的默认缓存时间是多少

当使用Hibernate二级缓存和查询缓存并且没有在ehcache.xml中指定任何内容时,默认缓存时间是多少? 最佳答案 摘自CacheConfiguration上的文档:Thefollowingattributesandelementsareoptional.timeToIdleSeconds:Setsthetimetoidleforanelementbeforeitexpires.i.e.ThemaximumamountoftimebetweenaccessesbeforeanelementexpiresIsonlyusedi

java - 获取整棵树的 JPA 查询

我有一个模拟所有类别的类,它们可以按层次排序。@Entity@Table(name="categories")publicclassCategory{@Id@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sequence")@SequenceGenerator(name="sequence",sequenceName="categories_pk_seq",allocationSize=1)@Column(name="id")privateLongid;@ColumnprivateStringname;@OneTo

java - 具有命名参数的 Hibernate Native Query 问题

我对HibernateNativeQuery有疑问。我有一个选择数组切片(PostgreSQL数据库)的SELECT。问题是hibernate识别以下部分:“SELECTmy_array[1:300]...”中的“:300”作为命名参数,我得到以下异常:并非所有命名参数都已设置。我试图用':'、'::'转义冒号(:)但没有成功。Hibernate版本是3.2 最佳答案 我不使用PostgreSQL,但如果您找不到解决此问题的合适方法,您可以实现拦截器(扩展EmptyInterceptor)并修改onPrepareStatement(

java - hibernate 非法尝试将集合与两个打开的 session 相关联

我在学校项目中使用持久性,当我尝试删除和更新对象时遇到问题,所有其他查询都有效。异常(exception)是:Illegalattempttoassociateacollectionwithtwoopensessions我关闭我打开的每个session。HibernateUtils代码publicclassHibernate{protectedstaticfinalSessionFactorysessionFactory;privateSessionsession;static{try{//CreatetheSessionFactoryfromhibernate.cfg.xmlsess

java.lang.ClassCastException : [B > cannot be cast to java. lang.String

publicLoginauthenticate(Loginlogin){try{MessageDigestmd=MessageDigest.getInstance("SHA-256");Stringpassword=login.getPassword();try{md.update(password.getBytes("UTF-16"));byte[]digest=md.digest();Stringquery="SELECTLFROMLoginASLWHEREL.email=?ANDL.password=?";Object[]parameters={login.getEmail(),

java - 我可以将构建器设计模式与 hibernate 一起使用吗?

假设我有这个类:publicclassMyEntity{privateintid;privateStringname;privateMyEntity(intid,Stringname){this.id=id;this.name=name;}publicstaticclassMyEntityBuilder{privateintid;privateStringname;privateMyEntityBuildersetId(intid){this.id=id;}privateMyEntityBuildersetName(Stringname){this.name=name;}private