草庐IT

java - 为什么我在先合并实体时将已删除的实例传递给合并

我相信我希望删除的实体是托管实体。但是,无论如何,为什么合并它然后删除它给我以下错误:传递给合并的已删除实例有人在stackoverflow上说,如果合并是托管实体,则应忽略合并。那么为什么这不被忽视呢?我想删除它的方式是这样的:TrialUsermergedEntity=em.merge(tu);em.remove(mergedEntity);但是这个错误,但是如果我去掉第一行它似乎工作正常。但我想要另一种方式,因为这与代码的其余部分一致。编辑:@PersistenceContext(unitName="UnitName")protectedEntityManagerentityMa

java - JPA/Spring/Delete Entity,类型不匹配(int/long for id)

我有一个使用的实体@Id@GeneratedValue(strategy=GenerationType.AUTO)privatelongid;我有这个实体的JPA存储库。现在我想删除其中一个,但标准方法是delete(inti),它不起作用,因为我的ID不是整数,而是长整数。那么除了使用int作为我的ID之外,在这里还能做什么?我可以指定一个使用long的自定义删除方法,就像它与findbyXX(XX)一起使用一样吗?编辑:首先:是的,我正在使用DataJPA!我想这样做:jparepository.delete(id);如果id是一个整数:org.hibernate.TypeMism

java - Spring JPA 存储库 : prevent update on save

我的user数据库表如下所示:CREATETABLEuser(usernameVARCHAR(32)PRIMARYKEY,first_nameVARCHAR(256)NOTNULL,last_nameVARCHAR(256)NOTNULL,passwordVARCHAR(32)NOTNULL,enabledBOOL)ENGINE=InnoDB;这是我的实体的字段定义:@EntitypublicclassUserimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@Column(nullable=fals

java - Spring 启动 Jpa : hibernate as default?

如果使用spring-boot-starter-data-jpa依赖项并通过org.springframework.data.jpa.repository.JpaRepository扩展存储库类,这是'普通jpa'还是hibernate?有什么区别? 最佳答案 JPA是接口(interface),Hibernate是实现。默认情况下,Spring使用Hibernate作为默认的JPA供应商。如果您愿意,可以使用任何其他引用实现,例如用于Spring项目中Java持久性的EclipseLink。

java - Hibernate 注释多对一不将子添加到父集合

我有以下带注释的Hibernate实体类:@EntitypublicclassCat{@Column(name="ID")@GeneratedValue(strategy=GenerationType.AUTO)@IdprivateLongid;@OneToMany(mappedBy="cat",cascade=CascadeType.ALL,fetch=FetchType.EAGER)privateSetkittens=newHashSet();publicvoidsetId(Longid){this.id=id;}publicLonggetId(){returnid;}public

java - Intellij Idea - 无法 Autowiring 。找不到 'ApplicationRepository' 类型的 bean。 less... (Ctrl+F1) 检查 bean 类中的 Autowiring 问题

我是Java新手。我正在制作这个tutorial(SpringMVC+Hibernate+Tomcat)到目前为止一切正常。当我尝试创建一个ApplicationController时,我无法AutowiringApplicationRepository。我在部署应用程序时收到此错误消息和404错误代码:Couldnotautowire.Nobeansof'ApplicationRepository'typefound.less...(Ctrl+F1)Checksautowiringproblemsinabeanclass.好吧,谈话很便宜。这是repo(github!):https:

java - Spring Data JPA 存储库 : IN-clause in derived query not working

我有一个看起来像这样的存储库:publicinterfaceUserRepositoryextendsJpaRepository{UserfindByEmailIgnoreCase(Stringemail);@Query("selectufromUseruwhereu.idin(:ids)")SetgetByIdInSet(@Param("ids")Setids);}当我调用getByIdInSet时,出现以下错误:Causedby:java.lang.IllegalArgumentException:Youhaveattemptedtosetavalueoftypeclassorg.

java - Hibernate - TypedQuery.getResultList() 返回相同对象的列表

下面是对问题的更多、可能更好的描述:我做了一个简单的选择查询。返回列表包含确切数量的记录/对象,就好像我在数据库中执行相同的查询一样,但问题是所有对象都相同/相同。例如,这是数据库中的结果(我删除了空值):2680101-JAN-00731-DEC-997ObereKirchstr。26CH8304瓦利塞尔恩2680101-JAN-00231-DEC-992ObereKirchstr。26CH8304瓦利塞尔恩这是我在执行查询后调试期间在Eclipse中看到的变量地址的内容:地址ArrayList(id=81)元素数据对象[10](id=86)[0]DLDBAddress(id=82)

java - 为什么类要实现 Serializable 接口(interface)?

这个问题在这里已经有了答案:WhenshouldweimplementSerializableinterface?(3个答案)关闭6年前。@EntitypublicclassHusbandimplementsSerializable{@Idprivateintid;privateStringname;@OneToOneprivateWifewife;}@EntitypublicclassWifeimplementsSerializable{@Idprivateintid;privateStringname;@OneToOne(mappedBy="wife")privateHusband

java - JPA 从具有多对多关联的集合中选择

我有2个具有多对多关联的实体类。调制解调器:@Entity@Table(name="MOD_PM")publicclassModPmextendsWebPageObjectimplementsSerializable,IDBNamedEntity{privatestaticfinallongserialVersionUID=1L;publicfinalstaticStringQ_GET_WITHOUT_STATUS_FOR_SCOPE="ModPm.getWithoutStatusForScope";@Idprivatelongid;....@ManyToMany@JoinTable(