草庐IT

子实体

全部标签

java - 与父实体一起驱逐依赖集合

我刚刚意识到,当一个对象从Hibernate缓存中被逐出时,dependantcollections,ifcached,havetobeevictedseparately.对我来说,这是一个很大的WTF:很容易忘记驱逐一个集合(例如,当一个新的集合被添加到对象映射时);驱逐依赖集合的代码丑陋且庞大,例如MyClassmyObject=...;getHibernateTemplate().evict(myObject);缓存cache=getHibernateTemplate().getSessionFactory().getCache();cache.evictCollection("

Java - 实体扩展限制。我在哪里设置这个?

我正在使用Java,当我尝试将数组写入CSV文件时,我遇到了以下错误:Theparserhasencounteredmorethan"64,000"entityexpansions我搜索了一下,发现我需要使用entityExpansionLimit来解决这个问题,方法是在java命令行中输入:-DentityExpansionLimit=100000但是作为Java和这类东西的新手,我不明白应该在哪里键入该命令。我尝试在命令提示符下输入它,但没有任何反应有人可以指导我吗?我应该在命令提示符下导航到特定文件夹吗? 最佳答案 使用选项-

java - hibernate 。什么时候同一实体可以在一个 session 中加载两次?

遇到这样的问题。加载了2个对象的集合(按主键,使用条件)。然后在循环中迭代它们。当处理第一个对象时,在离这个循环非常远的地方,通过与循环中第二个对象相同的主键加载对象。在这里,我看到这2个对象的System.identityHashCode()不同。当处理循环中的第二个对象并尝试保存它时,出现异常:org.hibernate.NonUniqueObjectException:adifferentobjectwiththesameidentifiervaluewasalreadyassociatedwiththesession:尝试用简单的对象模拟这个问题,加载,修改,再次通过PK加载,

java - 在 GAE 上部署应用程序时,为什么没有在数据存储中创建名称为 _BlobInfo_ 的实体种类?

当我们将文件上传到GoogleAppEngine上的Blobstore时,我们发现每次上传都会创建一个类型为_BlobInfo_的实体,可以在位于http的数据存储查看器下的本地开发控制台中看到://localhost:8888/_ah/admin,但是在将应用程序部署到AppEngine之后,当我们将文件上传到Blobstore时,不会创建此类实体。这对我来说很奇怪,想知道我是否在这里遗漏了什么。 最佳答案 _BlobInfo_不是特殊名称,很可能您的应用不会使用此名称创建实体。在生产环境中__BlobInfo__是一个内部名称,

java - 如何对几个实体使用两种不同的 Hibernate 缓存策略

对于我的应用程序,我想对几个实体使用两种不同的hibernate缓存策略。因此(afaik,如果我错了请纠正我)在像这样的实体上使用注释@Cache(usage=ConditionalStrategy)publicclassMyEntity{...}将不起作用,因为“ConditionalStrategy”必须是常量字段(以便与注释一起使用)。我已经了解了如何使用hibernate.cfg文件为每个实体配置缓存策略(参见https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html#performa

java - 如何在 Spring Data JDBC 中将实体映射到表?

在SpringDataJPA中,我们可以使用@Table注释将实体映射到特定表,我们可以在其中指定模式和名称。但SpringDataJDBC使用NamingStrategy通过转换实体类名将实体映射到表名。例如,如果我们有一个名为MetricValue的实体类,那么该表在默认架构中应命名为metricvalue。但我需要将MetricValue映射到app架构中的metric_value表。有什么方法可以通过注释或任何其他方式覆盖此映射? 最佳答案 SpringDataJDBChasit'sown@Tableannotation还有

java - 使用 JPA 在 GAE 中保存许多实体

我将JPA与GoogleAppEngine结合使用。假设我有一个非常简单的@Entity,由一个键和一个字符串组成,仅此而已。我现在创建了10000个这样的实体,将它们放在一个列表中,现在想存储所有这些实体。如果我尝试使用EntityManagerem和for循环遍历所有实体的List...for(MyEntityentity:listOfAllEntities){em.persist(entity);}..我会得到一个IllegalArgumentException:java.lang.IllegalArgumentException:can'toperateonmultipleen

java - 获取 Javassist 类型而不是实际的 Hibernate 实体类型

我偶然发现了一个非常烦人的情况:我使用Hibernate和Spring作为我的应用程序的后端,似乎在某些情况下,与特定实体有关系的实体不会作为普通实体对象从数据库,但作为Javassist类型。例如:我的Campaign实体具有以下关系:@Entity@Table(name="campaign")publicclassCampaignimplementsSerializable{[..]@ManyToMany(fetch=FetchType.LAZY)@JoinTable(uniqueConstraints=@UniqueConstraint(columnNames={"campaig

java - 实体不通过 TomEE 上的 Spring(CrudRepository) 持久化

我在尝试使用SpringsCrudRepository接口(interface)将实体持久保存到PostgreSQL数据库时遇到问题。我在TomEE上使用正确的值设置它和调整Spring本身的配置时遇到了很多问题。我曾短暂地尝试过使用hibernate,但问题变得更糟,所以我切换回与TomEE捆绑在一起的OpenJpa。我对纯JavaEE有一点经验,正在创建这个应用程序来学习Spring,我的一个friend需要一个Spring应用程序来部署在基于TomEE的ApplicationServer上,因此这两个是必需的。我附加的代码量可能有点过头了,但我宁愿让您看看那里有什么,这样您就可以

java - Spring Data JPA 通过从父实体获取 id 来插入子实体和父实体

我想通过对父实体调用save将父实体和子实体一起保存到MySQL数据库中。Parent和Child实体之间存在一对一的映射。父ID是自动生成的,我们也需要在child中使用与child的pk相同的ID。我正在使用SpringDataJPA2.0(JPA提供程序是Hibernate)和SpringMVC框架。当尝试插入实体时,出现以下错误。根本原因org.springframework.dao.DataIntegrityViolationException:not-nullpropertyreferencesanullortransientvalue:com.serro.cbmapi.m