草庐IT

Hibernate

全部标签

java - Hibernate 映射的父类(super class)关系和覆盖

我有一个抽象的MappedSuperClass,Participant,它由三种“Participant”扩展。然后每个人都使用自己的“项目”类型,也是一个抽象的MappedSuperClass。但是,我希望基类了解项目,以便我可以编写通用代码来与参与者交互。我如何使用Hibernate注释来指定它?以及如何在ExtendedParticipant和ExtendedProject类中覆盖它?每个参与者类型和每个项目类型都有自己的数据库表,其中包含我无法更改的现有数据和ID(跨表不唯一)。下面的代码给出了IDE错误“多对一的属性不应该是‘映射的父类(superclass)’”。@Mapp

java - hibernate 注释编译错误

当我尝试编译一个DTO文件时遇到了一个奇怪的问题,该文件具有要映射到db的hibernate注释。当失败并在下面显示一条奇怪的消息日志时。这个问题的原因可能是什么?我想错误来自文件CashDTO。我在文件CashDTO.java中做错了什么?importjava.io.Serializable;importjava.math.BigDecimal;importjava.util.Date;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.FetchType;impo

java - 插入到 JPA 集合而不加载它

我目前正在使用这样的代码向我的实体中的集合添加新条目。player=em.find(Player.class,playerId);player.getAvatarAttributeOwnership().add(newAvatarAttributeOwnership(...));它有效,但每次我想添加一个项目时,整个集合都会被加载。有没有一种方法(可能需要查询)来添加项目而不加载其余项目?在SQL中,它类似于INSERTINTOAvatarAttributeOwnership(player,data,...)VALUES({player},...);目前唯一性由Set和AvatarAt

java - 与 ForkJoinPool 兼容的 Hibernate ThreadLocal session 管理?

我通常在Javaweb项目中使用HibernateThreadLocalsession管理模式:TheThreadLocalSessionpatternmakesuseofthejava.lang.ThreadLocalclasstocreateaSessionthatisaccessiblefromasingleapplicationthread.Thisisparticularlyconvenientinmultithreadedapplications,suchaswebapplications.在项目中我用thread在hibernate.xml中并使用SessionFacto

java - Hibernate - 我可以混合命名参数和位置参数吗?

我有一个查询字符串:session.createSQLQuery("SELECTC.FIRSTNAMEASfirstName,C.LASTNAMEaslastNameFROMADDRESSBOOK_CONTACTASCWHEREC.ADDRESSBOOK_ID=:addressbookIdANDfirstName=?");当设置我的位置参数时,查询正常运行但没有结果:query.setParameter(0,"firstname1010");query.setParameter("addressbookId",addressbook.getId());这是错误的。如果我将位置更改为命名

java - Hibernate 插入查询

在hibernate查询中插入期间,我将一些字段作为表类对象传递,我已映射到相应的表,查询工作正常但查询变得太大,因为这些映射对象中的每一个都被单独更新到它们的相应的表格。谁能告诉我这是否是正确的插入方式以及为什么我会收到这些更新查询。Hibernate:insertintoortms.tool_modified_his_tbl(tool_desc,old_tool_desc,connec1,old_connec1,connec2,old_connec2,landed_cost,old_landed_cost,acqui_date,old_acqui_date,manuf_date,o

javax.persistence.PersistenceException : No Persistence provider for EntityManager named

我正在尝试按照老师文档中提供的信息设置一个简单的jpa2.0项目。我已经处理这个问题好几个小时了,但无论我做什么,当我尝试创建EntityManagerFactory时,我总是遇到这个异常:我发现了很多关于此异常的类似问题,但没有我能够开始工作的解决方案。我在这里做错了什么?我从Eclipse创建了这个项目(没有命令提示符)Exceptioninthread"main"javax.persistence.PersistenceException:NoPersistenceproviderforEntityManagernamedcourseatjavax.persistence.Per

java - hibernate 空间 - 'Invalid endian flag value encountered' 异常

我正在尝试在PostgreSQL9.3上的HibernateSpatial4.0中运行一个简单的查询。我在具有纬度/经度值的表中有许多对象,并且我正在尝试查询落在特定纬度/经度的给定半径内的对象。几何值似乎没有任何问题地持久化,并且在我的实体类中是这样定义的:@Column(columnDefinition="Geometry",nullable=true)@Type(type="org.hibernate.spatial.GeometryType")privatePointcoordinates=null;在使用coordinates值集持久化对象时,我没有任何错误。但是,当我运行查

java - 来自属性文件的 Persistence.xml 字段值

帮助,我想将我的持久性xml属性值引用到我的db.properties文件中。这是我的db.properties文件jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/apsasjdbc.username=rootjdbc.password=password这是我当前的persistence.xmlorg.hibernate.ejb.HibernatePersistence我想做的是把它的属性设置成这样org.hibernate.ejb.HibernatePersistence问题是如何将属性文件导

java - Hibernate 不会加载一对多的关系集,即使使用 eager fetch

我有以下hibernate映射。@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy="product")privateSetproductLicenses=newHashSet(0);@ManyToOne(fetch=FetchType.EAGER)@JoinColumn(name="product_id",nullable=false)privateProductproduct;但是当我调用product.getProductLicences()时,我总是得到一个空的Set,即使在事务方法中也是如此。se