【发布时间】:2014-10-20 08:26:46
【问题描述】:
我创建了一个名为 Media 的 Entity,其中包含与 Media 相关的标签列表。我使用@ElementCollection 来保存标签。我已经根据这篇文章对其进行了注释问题是当我阅读该字段时,我第一次获得了内容,但它被删除了。
我创建了一个存储库:
MRepo:
public interface MRepo extends CrudRepository<Media, String> {}
当我使用该服务获取媒体时,会发生删除:
...
@Autowired
MediasRepository mediasRepository;
public MediaReadEvent findMedia(String mediaID){
Media media = mediasRepository.findOne(mediaID);
...
休眠 SQL 日志:
hibernate: select tags0_.media_name as media_na1_2_0_, tags0_.tag_name as tag_name2_12_0_, tags0_.tags_ORDER as tags_ORD3_0_ from media_tags tags0_ where tags0_.media_nam
?
hibernate: delete from media_tags where media_name=?
hibernate: select tags0_.media_name as media_na1_2_0_, tags0_.tag_name as tag_name2_12_0_, tags0_.tags_ORDER as tags_ORD3_0_ from media_tags tags0_ where tags0_.media_nam
?
hibernate: delete from media_tags where media_name=?
hibernate: select tags0_.media_name as media_na1_2_0_, tags0_.tag_name as tag_name2_12_0_, tags0_.tags_ORDER as tags_ORD3_0_ from media_tags tags0_ where tags0_.media_nam
?
hibernate: delete from media_tags where media_name=?
媒体实体:
@Entity
public class Media {
@Id
@NotNull
@Column(name = "mediaid")
private String mediaId;
...
// @NotNull
@ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(
name="media_tags",
joinColumns=@JoinColumn(name="media_name")
)
@Column(name="tag_name")
@OrderColumn
private List<String> tags;
public List<String> getTags() {
return tags;
}
public void setTags(List<String> tags) {
this.tags = tags;
}
...
}
以防万一,我正在使用: postgresql - 9.2-1003-jdbc4 spring-data-jpa - 1.5.1.RELEASE 春天 - 3.2.8.RELEASE
【问题讨论】:
-
哪个代码导致您发布的 SQL 日志?你在做什么?
-
@JBNizet 嘿,我添加了请求的信息。让我知道是否缺少其他内容。谢谢
标签: hibernate postgresql jpa spring-data