草庐IT

java - 这个多对多关系的 "Owning Side"是怎么确定的呢?

我正在努力牢牢掌握拥有方的概念。无法从我在这里找到的任何问题中得到清晰的图片。基本上我正在阅读JavaEEJPA教程。它们具有以下数据库模式,其中PLAYER和TEAM具有多对多关系也说明了Aplayercanbeonmanyteams.Ateamcanhavemanyplayers.Thereisamany-to-manyrelationshipbetweenPLAYERandTEAM.到目前为止非常简单。但是当is进入编码部分时,他们将TEAM设为关系的拥有方。publicclassTeam{privateCollectionplayers;@ManyToMany@JoinTabl

java - Hibernate 中的三元(和 n 元)关系

问题1)我们如何使用Hibernate对三元关系建模?例如,我们如何对呈现的三元关系建模here使用Hibernate(或JPA)?注意:我知道JPA2添加了一些使用映射构建三元关系的结构。但是,这个问题假定JPA1或Hibernate3.3.x,我不喜欢使用映射来对此建模。(来源:grussell.org)(来源:grussell.org)理想情况下,我希望我的模型是这样的:classSaleAssistant{Longid;//...}classCustomer{Longid;//...}classProduct{Longid;//...}classSale{SalesAssist

java - Hibernate:如何只获取非逻辑删除的对象

我们数据库中的几乎每个表都有一个FK到审计表,该表记录创建、更新和删除状态(日期和用户名)。我们将审计表映射到审计类并像这样使用它:@MappedSuperclasspublicclassBusinessObjectextendsDataObject{privatestaticfinallongserialVersionUID=-1147811010395941150L;@OneToOne(fetch=FetchType.EAGER,cascade={CascadeType.ALL})@JoinColumn(name="AUD_ID")privateAuditingObjectaudi

java - Hibernate 二级缓存似乎不起作用

我目前正在尝试使用hibernate附带的缓存提供程序让hibernate工作。net.sf.ehcache.hibernate.SingletonEhCacheProvider我在我的hibernate.cfg.xml文件中引用的ecache.xml中启用了默认缓存和类特定缓存。类/映射文件特定缓存被定义为处理多达20000个对象。但是,自从我在我用来测试它的映射文件之一上打开缓存映射后,我没有看到任何性能提升。我的测试如下。加载特定映射文件im测试的10000个对象(这应该会影响数据库并成为瓶颈)。接下来我去加载相同的10000个对象,因为此时我希望缓存被命中并看到显着的性能提升。

java - 是否可以在 Hibernate/JPA 中动态定义列名?

所以我有这个现有的数据库架构,其中包含许多我想使用JPA/Hibernate建模的表。每个表具有相同的30个附加列组(以允许运行时扩展字段数录)。CREATETABLEXX("ID"VARCHAR2(100BYTE)NOTNULLENABLE,"USER_LABEL"VARCHAR2(256BYTE),"CREATION_DATE"NUMBER(38,0)NOTNULLENABLE,"ADD_STR_FIELD_0"VARCHAR2(200BYTE),"ADD_LNG_FIELD_0"NUMBER(38,0),"ADD_DBL_FIELD_0"NUMBER(38,0),"ADD_STR

java - 用JPA实现分层数据结构(固定深度)

Ihaveahierarchicaldatastructurewithafixeddepthof4.Forabetterunderstanding,let'sassumethefollowing(justanexample):The"root"leveliscalledcountriesEachcountrycontainsanarbitraryamountofstatesEachstatecountainsanarbitraryamountofcountiesEachcountycontainsanarbitraryamountofcitiesSotherearealways1-Nr

java - Entity-Bean (JPA) 中的单向关系

如何在EJB3.0Entity-Beans(JPA)中创建单向关系?例如,客户知道订单,但订单没有客户的任何方法。使用(@OneToMany或@OneToOne或@ManyToMany)问候 最佳答案 下面是使用JPA2.0建立单向@OneToMany关系的方法:@EntitypublicclassCustomer{@Id@Column(name="cust_id")privatelongid;...@OneToMany@JoinColumn(name="owner_id",referencedColumnName="cust_id

java - org.hibernate.exception.SQLGrammarException : could not insert [com. 示例.Person]

我正在尝试设置我发现的一个小型Hibernate工作示例here但是,当我运行代码时,出现以下错误Exceptioninthread"main"org.hibernate.exception.SQLGrammarException:couldnotinsert:[com.sample.Person]atorg.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)atorg.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionH

java - spring hibernate 5 错误已经值 [org.springframework.orm.hibernate5.SessionHolder for key bind to thread

我刚刚升级到hibernate5,在尝试使用SpringHibernate事务管理器获取CurrentSession时遇到以下错误org.springframework.orm.hibernate5.HibernateTransactionManager这是错误的完整堆栈跟踪java.lang.IllegalStateException:Alreadyvalue[org.springframework.orm.hibernate5.SessionHolder@c05f59]forkey[org.hibernate.internal.SessionFactoryImpl@f0db1]bo

java - IN 不工作的 JPA EntityManager createQuery()

这是失败的:Listnames=newArrayList();names.add("sold");Queryquery=em.createQuery("FROMPropFieldpropFieldWHEREpropField.nameIN(?)");query.setParameter(1,names);Listfields=query.getResultList();这也是:Listnames=newArrayList();names.add("sold");Queryquery=em.createQuery("FROMPropFieldpropFieldWHEREpropField