Hibernate中每个具体类层次结构的表
我有以下Hibernate映射,必须使用每个具体类的表层次结构进行映射: <hibernate-mapping package='dao'> <meta attribute='class-description'></meta> <class name='PropertyDAO'> <id name='id' column='id_property'> <generator
我有以下Hibernate映射,必须使用每个具体类的表层次结构进行映射: <hibernate-mapping package='dao'> <meta attribute='class-description'></meta> <class name='PropertyDAO'> <id name='id' column='id_property'> <generator
我想使用hibernate来包含对象的层次结构,但是discriminator列是另一个表的外键,该表包含定义子类类型的代码 是否可以将联接表中的代码指定为鉴别器,还是必须使用键值并希望键值保持一致 e、 g.discriminator=“方形|圆形”v.s.discriminator=“0 | 1” 表格:形状 area=25 shape_type_fk=0 area=10 shape_type_fk=1 表格:形状类型 ID CODE 0 square 1 circle 看
如何通过JPA/Hibernate持久化XMLType列?根据oracle文档,为XMLType声明存储子句有两种方法。它们是关系型、LOB和对象关系型。我不想和LOB一起去。我有模式并注册到数据库中。我还没有关于如何为XMLType设计实体的示例。有谁知道请分享吗?我会使用自定义的用户类型(Hibernate扩展名)。博客文章提供了一个可以重用的实现。然后,用注释声明您的自定义UserType。自定义java类HibernateXMLType适用于CLOB。这对我来说很好(JPA 2.1和Hi
我可以为JSF支持bean和hibernate实体使用相同的类吗?我假设我可以,但是当我对支持bean进行一些JSF验证时,字段没有设置(即null) 要使这两种技术很好地结合起来,我还缺少什么吗?或者,对这两个类使用同一个类难道不是一种做法吗 谢谢你的帮助 乔我在技术上不确定,但从逻辑上讲它没有多大意义。您的hibernate bean与数据库记录相关联,而JSF支持bean与用户会话相关联。我认为尝试在同一个类中混合使用这两个类只会引起混乱。据我所知,您可以将一个类用于两个目的,但我不确定,
我在*.hbm.xml文件中使用了cascade=“all delete orphan”,我遇到了以下异常,请告诉我如何解决这个问题 RegisteredSync E WTRN0074E:在完成同步操作之前捕获的异常:java.lang.UnsupportedOperationException 位于org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$Transacti
技术:Spring、Hibernate、JSR-303、JQuery 平台:Windows 我正在尝试实现@IdMustExist JSR-303约束。约束的目的是检查关联表中是否存在输入的id值。有关IdMustExist.java和IdMustExistValidator.java代码段,请参见本文 场景1-输入有效的Id值:在这种情况下,当执行hibernate的EntityManager.merge操作时,我看到@IdMustExist约束被执行。它成功验证输入的Id值是否存在于另一个关
我想使用命名查询调用PL/SQL函数。 其中一个参数会给我带来问题。在PL/SQL定义中,其类型是NUMBER。 下面是设置它的Java代码: q.setParameter(测试区ID参数,区ID) 而districtId是一个Long 当districtId不为空时,一切正常,但当为空时,结果如下: org.hibernate.exception.sqlgrammareexception:无法执行查询 我确信管道没有问题,因为当districtId不为null时,查询工作正常。我对Java或H
我有一个目前严重依赖继承的域模型,由于与Hibernate的代理模型相关的几个问题,我正在重构模型以使用组合。我遇到的主要问题是以下情况: 获取记录X作为父项 Hibernate将代理返回给父级 的实例和向下播放现在已中断 此外,像返回父表的外键引用这样的事情不会按照具体的子类策略处理表。因此,现在我基本上将Parent作为一个具体的类,并将对Child1和Child2的引用放入Parent中(需要一个连接来根据需要获取数据) 根据这一描述,是否有人走过类似的道路并遇到过任何问题,或者这种方法有
只是想看看大多数人是如何生成Hibernate映射文件和POJO的。我知道我可以使用Hibernate工具,但我还有什么其他选择?越来越少的人生成映射文件-注释现在被广泛采用 至于这一代,我只听说过Hibernate工具和我自己编写的代码。这很简单。我的数据库是DB2/400(在某些视图上有200多个字段),我无法手工编写它们。我调查了SYSCOLUMNS系统表,以检查列名、数据类型和生成的带注释的域类。60行代码为我节省了几个小时:)
我花了几天时间研究SpringHibernate事务问题。我使用jaxws+spring+hibernate创建了一个简单的web服务,它工作得很好,但是当我调用使用事务bean的web方法时,spring抛出了以下错误: 21 sept. 2011 14:29:29 com.sun.xml.ws.server.sei.EndpointMethodHandler invoke GRAVE: org.hibernate.HibernateException: createCriteria is n
我使用的是hibernate hibernate版本:3.2.5.ga。除此之外,我还使用gwt2.3版本。 现在,当我尝试升级hibernate版本时,我遇到了错误。我下载了hibernate 3.6.7最终版本,并在中替换了旧的jar文件。但当我在第一个服务器上运行应用程序时,它给出了以下错误。如果我用旧jar替换新jar,则没有问题……但对于新jar,它给出了错误。 帮帮我,先谢谢你 org.hibernate.HibernateException: Unable to get the d
休眠对象: Provider-->它与ProviderAddress具有一对多关系 以及与ProviderStatusDetail的一对多关系 早些时候,我们正在将提供者对象保存/更新到数据库中。一切正常。现在我们必须将旧值保存到历史记录表中,然后保存/更新提供者表 部分代码: public void saveProvider(Provider provider) { //Get Existing Data from Provider Provider existingProv
我正在使用Hibernate 3.6.2 当对表进行并发更新时,我面临表上的锁问题。有多个表使用外键联接。发生的情况是,当一个更新正在进行时,下一个更新将等待释放锁。然后,锁在数据库上徘徊,必须手动终止。 如果有数百名用户试图在几秒钟内更新同一实体,问题就会恶化 下面发生的事情是,当更新这个实体时,Hibernate会触发更新,然后是删除,然后是插入。我从实体中删除对象,然后进行刷新。然后,我将新对象添加到实体中,然后在同一事务中合并并提交所有对象 更新完成后,这些锁是否可以自行释放?或者问题是
我想将Grails与Postgres一起使用,并对一个表进行分区。 我知道,Hibernate和Postgres在分区方面不是最好的一对。 我已经读到,我可以通过使用@SQLInsert和ResultCheckStyle.NONE来克服这个问题。 我在Grails中找不到类似的东西。可能吗 谢谢我已经找到了答案,并在github上创建了一个示例项目,涵盖了它。 此外,它还展示了如何将Grails与分区的Postgres表一起使用
嗨, 我对hibernate很陌生。我有一个类Customer,它与Order类有一对多关系,Order类与Item类有一对多关系,与Customer有多对一关系。Item类与Product类有一对多关系。 我的hbm.xml如下所示 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibe
我看过几页接近这一点的文章,但我正在寻找一个更简单的答案 我有一个对象FinancialStatementLine,它可以引用支付实体。我想使用HQL查找符合特定条件但不具有关联的付款对象的财务报表行实体。我的HQL语句如下所示: var query = _Session.CreateQuery( @"select lines from FinancialStatementLine lines inner join fetch lines.Statement statem
我有一个名为Order的@实体,在这里我有一个名为orderEmails的字段或成员变量,如下所示 @Entity @Table(name = "order") public class Order { @Id @Column(name = "order_int") private Long id; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "order_int", ins
…而不实际读取和解析persistence.xml 我可以使用。我可以使用来检索可用的数据源。但是我没有发现任何API可以为我提供特定EntityManager的数据源 一个带有名称的字符串就足够了 多谢各位 我正在JBoss7.1.1.Final上使用Hibernate4.0.1.Final,而不是JPA2 编辑:如果可能的话,我希望避免从JPA转向HibernateAPI 编辑:Augusto的解决方案成功了,我有一些关于细节的说明:EM的强制转换不起作用,因为出现了ClassCastExc
我们使用Hibernate搜索在应用程序中进行全文搜索。 自定义字段标记到lucene索引中。数据库中的自定义字段实际上包含“材质:铁、银;颜色:红色,蓝色。我怎样才能得到像铁(7)、银(6)、红(1)、蓝(9)这样的刻面效果 我做了一些研究表明我们可以使用lucene中的收集器来实现这一点。但我不确定Hibernate搜索是否支持收集器集成
我不知道如何,但在更改实体类(添加了一个列)后,远程客户端开始找不到在该实体上操作的方法。更准确地说: 我有一个实体类: @Entity(name = "Ride_Offers") public class RideOffers implements Serializable{ //declarations... //new added attribute: @Column(name = "Deadline") @Temporal(TemporalType.TIMESTAMP) priva
这类似于。但是我使用JPA,所以解决方案不适用 那么,如何在JPA中转义HQL关键字呢 查询示例:(count是有问题的。) 这是吉拉,还开着。 不确定是否相关,因为它是关于SQL关键字,而不是HQL关键字。您可以尝试以下内容: em.createQuery("INSERT INTO Count c (c.id, c.count) SELECT 1, ?").setParameter(1, id).executeUpdate(); 这应该让JPA明白,您指的是属性,而不是关键字。这是不幸的表和
Hibernate 4.1.1多租户CurrentTenantIdentifierResolver方法,任何示例。我关心的是当我们切换模式/租户时,hibernate缓存将如何更新 如有任何帮助,我们将不胜感激。请参阅: 16.3.3. 缓存 Hibernate中的多租户支持与Hibernate二级缓存无缝配合。用于缓存数据的密钥对租户标识符进行编码 这基本上意味着Hibernate不使用实体的UID,而是使用由CurrentTenantIdentifierResolver.resolveCur
在hibernate中使用单个HQL查询插入差异表? 我认为它可以使用反射API来完成。表示在谷歌搜索后动态调用该方法。 我是用反射API得到的 您可以从字段名中获取字段名和值 然后,您可以将该值设置为此POJO类,并调用默认的保存方法将数据插入数据库 你明白我的意思了吗?我使用反射API执行选择和删除操作。。我不能动态调用javabeans类方法。请告诉我,我如何调用类的dynamiccall方法。无法将持久性、反射和查询联系在一起。推荐阅读
嗨 我目前试图理解,我的编码和实体模型有什么问题 我使用hibernate 4.2来执行CRUD操作,只使用泛型DAO模式和带注释的实体来级联ALL和orphanRemoving=true。 我有一个DayPlan实体,它与DayPlaneElement弱实体有一个omany关系。DayPlaneElement保存到java.util.Set中。每个DayPlaneElement都有一个属性“order” DayPlan与实体人也有一对一的关系。保存到java.util.列表中的实体Person
我有两个JPA实体,如: public class Request{ @OneToOne private User user; private Date submitted; @OneToOne(cascade=CascadeType.ALL, mappedBy="id.request", optional=true, fetch=FetchType.EAGER) private Appointment; } public class Appointm
写我的句子时出错: public List findWithName(String name) { return em.createQuery( "SELECT c FROM Customer c WHERE c.name LIKE :custName") .setParameter("custName", name) .setMaxResults(10) .getResultList(); } 我得到java.lang.NullPointerExceptionerrorem为null
正如您在上面的映射中所看到的,使用generator class=“native”自动生成文件ID 那么有没有一种方法可以根据java中的逻辑设置这个ID呢。 我不想让它自动生成,我想用我自己的逻辑生成它,然后插入到表中,还有可能当我运行代码在表中插入值时,表会自动在数据库中创建,如果它不存在,我听说有一种方法可以做到这一点 查看来自的官方文档:所有id生成器都有很好的解释。 您还可以检查如果没有为主键属性指定任何生成器,hibernate将假定您使用分配策略。assign策略告诉hiberna
为了更好地理解我的问题,请查看下面的JSP代码 <c:forEach var="technologyLocation" items="${model.technologyLocationList}" varStatus="loop"> <form:input path="technologyLocationList[${loop.index}].location"/> </c:forEach> TechnologyControlle
我试图用Hibernate映射java.util.map,但似乎无法正确地映射。我正在使用Hibernate4.2.8.Final和Hibernate3Maven插件2.2。最初,我想让一个映射由一个enum值设置键控,并使用一个实体作为值,但无论我做了什么尝试,hbm2ddl的数据库定义都不正确。因此,我尝试了JPA2书中的一个简单示例,映射MapEntity映射,无法创建枚举->实体映射,无法创建entityMember->实体映射,剩下的选项不多。) @ElementCollection
我有一个hibernate对象要删除,它是从DTO转换而来的。因为这个对象没有附加到会话,我不能直接删除它,它会导致一个错误,所以我需要合并它,或者在会话中找到等效的对象。做Session.get()或Session.merge(),什么更快 更好的是,有没有一种方法可以在不首先从会话获取托管对象的情况下删除对象?merge()基本上获取对象,然后将分离实例的状态复制到附加实例,并应用级联。显然,要获取对象,get()不仅更快,而且更合适 通过使用session.load(),您甚至可以在不查询
给定Grails 2.3.8和Mongo 2.6.0,以及这个(简化的)域类: db.account.findOne() { "name":"Test Account", "customer": { "state": "CA" } } 其中每个帐户都有一个带有“状态”字符串的客户子文档。要获得所有客户的所有州列表,我想做如下操作: def states = Account.createCriteria().list { projections{
我对Grails2.2.3和验证域对象有一个奇怪的问题;我有两个数据库转储,据我所知是相同的 更新记录并调用validate时出错,错误如下: util.JDBCExceptionReporter - No value specified for parameter 1 我已经打开了HibernateSQL日志记录和绑定日志记录 对于不工作的数据库,获取以下日志输出: 2014-10-22 12:28:06,163 [http-bio-8080-exec-3] DEBUG hibernate
这是我的情况。3个实体:客户、地址和客户地址。我使用Hibernate的模式生成器创建数据库表(普通和审计)。 客户与地址有多对多关系,此关系由CustomerAddress实体定义 客户类别 @Entity @Audited public class Customer implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; ...
在使用Grails/Terracotta时,我遇到了hasMany(1-M)关系的以下问题。我有以下域模型(伪代码): 这将使用在BootStrap.groovy中注册的封送拆收器作为JSON返回: JSON.registerObjectMarshaller(User) { def returnArray = [:] returnArray['id'] = it.id returnArray['username'] returnArray['languages']
我有以下实体。 联系方式。人。组织和Telefoon(英语电话) 个人和组织都是联系人。他们从接触中继承 联系人可以有一个或多个电话号码。这是Telefoon的列表 一个组织也有一个联系人 问题是如果我坚持个人对象和组织对象, 其中每个对象都有2个号码,对于某些对象,数据库中只有1个电话号码?怎么样 我知道这与我的注释和我的类配置有关 班级联系 @Entity @Table(name= "Contact") @Inheritance(strategy = InheritanceType.JOIN
EJB中使用CMT的事务方法,用于删除提供的实体: public boolean delete(Entity entity) { Entity managedEntity = entityManager.find(Entity.class, entity.getId()); if (managedEntity == null) { throw new EntityNotFoundException(); } entityManager.remo
我正在使用以下技术:Wildfly 8.1.0服务器和Hibernate搜索。Hibernate搜索需要具有扩展上下文事务的EntityManager。只有@StatefulEJB支持这种事务,但同时我需要EJB不是@Stateful而是@Singleton,因为在构建EJB时,我正在将数据库的内容索引到内存中 我怎样才能解决这个矛盾呢?我曾试图使@EJB@有状态,但我从未停止对数据库进行索引,因为它创建了太多的数据库。我试图使其成为@Singleton,但随后遇到了事务异常。如何使它成为一个有
我尽了最大努力使多对多insert语句发生在数据库事务中。 这是日志消息 突出显示的文本说明select query start INTERNATE transaction,但不针对事务提交后发生的insert语句 我的想法是,我希望查询的所有内容都进入事务内部 这些是我在控制器、存储库和映射中的代码 控制器动作法 @Transactional(readOnly = false,rollbackFor = Exception.class, isolation =
对于关联使用例如Set时,基本关联航班以级联方式正确保存,但对于关联使用派生类时则不正确保存: class Airport { String name 版本1:设置航班 static hasMany = [flights: Flight] } class Flight { String number static belongsTo = [airport: Airport] } new Airport(name: "Gatwick") .ad
Hibernate为批量更新和删除创建全局临时表名,以HT开头 我们不应该/不允许从应用程序创建任何表 如何关闭hibernate的表全局临时创建?hibernate定义了几个选项,您可以根据数据库功能选择这些选项 1-InlineidsIncluseBulkidStrategy 2-INLINEIDS SubselectValueListBulkIDStrategy 3-INLINEIDSorclausebulkikidStrategy 4-CteValuesListBulkIdStrateg
我需要concat 2列并将值转换为数字,上面是代码: SELECT T FROM TABLE T WHERE CAST(substring(replace(T.versionSince, '.', ''), 1, 1)+'.'+substring(replace(T.versionSince, '.', ''), 2) as DOUBLE) <= :version 从表T中选择T,其中CAST(子字符串(替换(T.versionSince,“,”)、1、1)+“+”+子字符串(替换(
我对jpa查询有问题: SELECT DISTINCT p FROM Product p INNER JOIN p.shopCategories sc WHERE EXISTS (SELECT DISTINCT sc2 FROM Customer c INNER JOIN c.shopCategories as sc2 WHERE c.customerId=7) 结果应仅为具有店铺类别的页面,其中客户已预订该店铺类别 产品类别顾客 但结果是一个列表,列出了所有存在任何ShopCategory的
我正在尝试将Hibernate envers添加到我的应用程序中。我使用的数据库已经有很多数据了。 这是hibernate配置 <property name="hibernateProperties"> <props> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="org.hibernate.envers.
在org.springframework.data.jpa.repository内。@Queryannotation我检查集合中的字段是否为空,如果为空,则可能忽略集合: @Query(""select e from #{#entityName} where e.type in :lst or 0 = :lstSize") List<Entity> findByLst(@Param("lst") List<XEnum> lst, @Param("lstSize") int
我需要使用JAX-RS(WildFly 10,所以RESTeasy和Hibernate)将大型文件流式传输到SQL Server(请注意,SQL Server JDBC驱动程序支持流式传输) 很明显,我们的目标是让流在不耗尽内存的情况下通过数据库 这是终点: @Path("files") public class FileEndpoint { @Inject FileRepository fileRepository; @POST public void po
我将使用Hibernate4.3.x和jsp和servlet开发一个简单的应用程序。我想将表数据从数据库加载到使用jsp创建的表中 这是我的role.jsp文件中所需的部分 <table class="table"> <thead> <tr> <th>Role ID</th> <th>Role Title</th> <th>Acti
我最近从Hibernate 4.3.10升级到了5.2.12,当我尝试使用java 8在wildfly 9上部署应用程序时,我发现了以下错误 下面是我的相关pom.xml代码片段 <properties> <org.hibernate.version>5.2.12.Final</org.hibernate.version> </properties> <dependency
我将persistence.xml配置为删除和创建de数据库。但我希望在不重新部署或重新启动服务器的情况下删除并创建de数据库。只是调用一个函数。可能吗 我正在使用Wildfly 16服务器和提供的hibernate 在现有的持久化单元上使用标准JPA函数Persistence.generateSchema HashMap m = new HashMap(); m.put("javax.persistence.schema-generation.database.action",
我使用hibernate保存了测试数据,但当我调用它时,没有数据,我不知道为什么 我的测试代码是这样的 @Test void postPerson() throws Exception{ PersonDto personDto = PersonDto.of("martin", "programming", "판교", LocalDate.now(), "programmer", "010-111
我有一个典型的一对多的情况。一辆车有很多东西 @Entity @Table(name="CART") public class Cart { //... @OneToMany(fetch = FetchType.LAZY, mappedBy="cart") @Cascade({ org.hibernate.annotations.CascadeType.SAVE_UPDATE }) private Set<Items> items; //