- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ClassMetadata 来确定 hibernate POJO 的结构。
我需要确定一个集合是 OneToMany 还是 ManyToMany。这些信息在哪里?我可以在不使用反射的情况下得到它吗?请参阅下面的代码。
//Get the class' metadata
ClassMetadata cmd=sf.getClassMetadata(o.getClass());
for(String propertyName:cmd.getPropertyNames()){
if (cmd.getPropertyType(propertyName).isCollectionType() && cmd.??()) //Do something with @ManyToMany collections.
}
我所需要的只是告诉我它是否是 ManyTo____ 关系的方法。我看到了 getPropertyLaziness(),但这并不总是保证集合的类型。有什么想法吗?
最佳答案
不幸的是,事情并没有那么简单。最好的检测方法是检查特定的 CollectionPersister
实现:
SessionFactory sf = ...;
// Get the class' metadata
ClassMetadata cmd = sf.getClassMetadata(o.getClass());
for(String propertyName:cmd.getPropertyNames()) {
Type propertyType = cmd.getPropertyType(propertyName);
if (propertyType.isCollectionType()) {
CollectionType collType = (CollectionType) propertyType;
// obtain collection persister
CollectionPersister persister = ((SessionFactoryImplementor) sf)
.getCollectionPersister(collType.getRole());
if (persister instanceof OneToManyPersister) {
// this is one-to-many
} else {
// this is many-to-many OR collection of elements
}
} // if
} // for
关于hibernate - 使用 ClassMetadata 确定 ManyToMany 与 OneToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1374748/
我已经从 Memcached 迁移到 Redis。起初我使用的是 PECL Redis 3.1.3,一切正常。更新到 3.1.5 后,我开始收到错误消息: Uncaught PHP Exception
我正在使用 ClassMetadata 来确定 hibernate POJO 的结构。 我需要确定一个集合是 OneToMany 还是 ManyToMany。这些信息在哪里?我可以在不使用反射的情况下
我正在使用以下代码从 sessionFactory 获取所有 ClassMetaData。 ... Map allClassMetadata = getSessionFactory().getAllC
刚升级到hibernate 3.6.0,发现这个方法被弃用了。 public Serializable getIdentifier(Object object, EntityMode entityMo
我正在尝试使用 FOSOAuthServerBundle 在我的实际 symfony2 项目中实现 OAuth2。 我一直在关注这个Article来实现它。 由于我不使用 FOS 用户 bundle
我是一名优秀的程序员,十分优秀!