- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 NetBeans 及其 RAD 开发功能开发 JEE6 JSF 应用程序。我想使用脚手架来节省更新 Controller 和模型 View 的时间。 OneToMany 关联在 View 中生成没有任何问题(作为让您选择父实体的下拉列表)但 ManyToMany 关联未生成。
您知道建立多对多关联的方法吗?您将哪些 RAD 技术用于 NetBeans? (您推荐的插件、教程、资料)
最佳答案
实际上,无论数据库供应商是什么,带有 Netbeans 的 JSF 脚手架还不能管理 Many2Many 关系。数据库 View 也是如此。
如您所见,当您要从数据库生成实体时,只会接受具有 ID(主键)的表。然而,该向导将识别连接表并将正确地注释实体。貌似(Netbeans 7.0)示例:
@JoinTable(name = "TOPIC_WRITER", joinColumns = {
@JoinColumn(name = "topicname", referencedColumnName = "topicname")}, inverseJoinColumns = {
@JoinColumn(name = "writerid", referencedColumnName = "writerid")})
@ManyToMany
private List<Writer> writerList;
@ManyToMany(mappedBy = "writerList")
private List<Topic> topicList;
通过此链接:http://wiki.netbeans.org/JsfCrudGenerator您应该注意到,如果需要,您必须在生成 JSF 页面(托管 Bean 和 JPA Controller )之前修改生成的实体类,如果它们与上面的示例不同。
由于 EclipseLink 是 Netbeans 使用的默认 JPA profider,您应该查看 EclipseLink 站点以查看有关如何在实体类中定义 ManytoMany 关系的示例,以及如何在 JPA Controller (Java-ee-5) 中对其进行管理或您生成的无状态 session bean (Java-EE-6)。
View 部分的逻辑方法是添加一个创建表单,例如:
<h:selectManyMenu id="writer" value="#{topicController.selected.writerCollection}" title="#{bundle.CreateBookTitle_writer}" required="true" requiredMessage="Writer needed">
<f:selectItems value="#{writerController.itemsAvailableSelectMany}"/>
</h:selectManyMenu>
但不幸的是,这将不起作用并将返回:无效值。虽然这似乎是合乎逻辑的:将 Writer 对象的集合添加到 Topic 对象。
如您所见,Many2Many 关系由实体类中的集合表示,因此这里的问题是如何将集合添加到对象。
我从来没有在 JSF 环境中处理过“多对多”关系,所以我现在不知道如何有效地进行这些修改。但是您可以直接询问 Netbeans.org 的 JSF 团队。或者看看 SpringFuse 的人如何使用 Spring 解决这个问题(实际上他们在 m2m 相关的实体类中添加了 addObject(){}
和 removeObject(){}
方法关系。
/**
* Returns the roles List.
*/
@Cache(usage = NONSTRICT_READ_WRITE)
@JoinTable(name = "ACCOUNT_ROLE", joinColumns = @JoinColumn(name = "ACCOUNT_ID"), inverseJoinColumns = @JoinColumn(name = "role_id"))
@ManyToMany(cascade = PERSIST)
public List<Role> getRoles() {
return roles;
}
/**
* Set the roles List.
* It is recommended to use the helper method addRole / removeRole
* if you want to preserve referential integrity at the object level.
*
* @param roles the List of Role
*/
public void setRoles(List<Role> roles) {
this.roles = roles;
}
/**
* Helper method to add the passed role to the roles List.
*/
public boolean addRole(Role role) {
return getRoles().add(role);
}
/**
* Helper method to remove the passed role from the roles List.
*/
public boolean removeRole(Role role) {
return getRoles().remove(role);
}
/**
* Helper method to determine if the passed role is present in the roles List.
*/
public boolean containsRole(Role role) {
return getRoles() != null && getRoles().contains(role);
}
如果您不介意在您的应用程序中使用 Spring Framework,您可以尝试他们的在线 JSF Web 应用程序生成器并检查生成的代码以了解他们和您的代码之间的区别。
但是,您可以查看这篇博客文章(教程),它使用一个简单示例(书籍 - AuthorBook - 作者)解释了在 Netbeans (Java-EE-6) 中支持 Many2Many 关系的方法。 http://ikennaokpala.wordpress.com/2010/06/18/persisting-jpa-many-to-many-relationship/
关于java - 使用 Netbeans 和 JSF 搭建 ManyToMany 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357549/
最近几天,我们考虑使用 Solr 作为我们的首选搜索引擎。 我们需要的大多数功能都是开箱即用的,或者可以轻松配置。 然而,我们绝对需要的一项功能似乎在 Solr 中被很好地隐藏(或缺失)了。 我会试着
我是 Sequelize 的新手,并且一直在探索关联。我正在使用 mysql 5.6 并 Sequelize ^4.42.0。我正在尝试创建两个简单的表:PRJS 和 TASKS 并将一些数据插入这些
关联、聚合和组合之间有什么区别?请从实现的角度解释一下。 最佳答案 对于两个对象,Foo 和 Bar 可以定义关系 关联 - 我与一个对象有关系。 Foo 使用 Bar public class Fo
这两种 hasOne 语法有什么区别? class Project { ....... ............ static hasOne = Employee // static h
对于当前的项目,我想使用遗传算法 - 目前我查看了 jenetics 库。 如何强制某些基因相互依赖?我想将 CSS 映射到基因上,例如我有基因指示是否显示图像,以及如果它也是各自的高度和宽度。因此,
关联、聚合和组合之间有什么区别?请从实现的角度解释一下。 最佳答案 对于两个对象,Foo 和 Bar 可以定义关系 关联 - 我与一个对象有关系。 Foo 使用 Bar public class Fo
假设我有一个名为“学生”的表格,其中包含姓名、手机、电子邮件、首选类(class)、首选学校、性别、年龄、地址、资格、职称、家庭电话、工作电话等列 我想从 Students 表中选择数据并插入到 2
问题标题有点困惑。我有一级员工和一级项目。一名或多名员工正在从事一个或多个项目。在这个关联中,我只有一个从具有*多重性的员工类到具有*多重性的项目类的链接。现在有另一种实现。每个项目只有一名经理,属于
到目前为止,我有一个程序采用一组随机点、站点,并围绕这些点形成适当的 Voronoi 图,表示为角和边的图形。它还为我提供了 Delaunay 三角剖分作为另一个以所有站点为节点的图形(尽管我不知道这
实现IComMethodEvents时你得到三个事件。 OnMethodCall OnMethodException OnMethodReturn 我的目标是记录 COM+ 组件中每个方法的调用时间。
我正在处理这个问题。我正在创造数学问题,每一个都有回应。例如。 如果我的问题是关于“5x + 15 = 2 的结果?”,我将只等待一个答案(整数)。 如果我的问题是关于“给我这个形状的面积和许可”,我
我正在寻找一种数据结构来保存唯一元素的无序集合,它将支持以下操作 在集合中任意位置插入/删除元素 查询元素是否存在 访问一个随机元素 天真地,1 和 2 建议使用关联容器,例如unordered_se
是否可以在 LINQ 中使用类似 ContactAddress.Contact 的内容,而无需在 SQL Server 中在这两者之间创建外键关系(通过 Contact.Id ContactAddr
我一直在谷歌搜索,但不明白调用 javax.persistence.criteria.Subquery 和 Criteria API 的方法相关的结果是什么。 http://www.objectdb.
我正在关注 Chris McCord 的“Programming Phoenix”一书,在第 6 章中,在 User 之间创建了一个关系。和一个 Video . 尝试使用 mix phoenix.se
我在 XAML 中有一个 ItemsControl,我在其中为每个组显示一个扩展器,以便我可以展开/折叠该组。我想保持 IsExpanded 的状态属性(以及可能与组标题显示相关的其他设置)。通常你只
Oracle 11 中是否有内置方法来检查 varchar2 字段中值的相关性?例如,给定一个简单的表,如下所示: MEAL_NUM INGREDIENT --------------------
是否可以在没有 JPA 在数据库中创建外键的情况下设置多对一关联? 这些表归另一个系统所有,并以异步方式填充。因此我们不能在数据库中使用 FK。仍然,几乎总是,最终是一种关系。 @ManyToOne(
我一直在使用NHibernate,使用Fluent NHibernate进行映射。我解决了很多问题,并开始认为自己在nhibernate中经验丰富。 但是,此错误非常奇怪。 这是我的模型: p
我正在开发一个 Typescript Sequelize 项目,其中我的 /models/index.ts 文件具有以下“导入此目录中的所有模型”功能: var basename = path.bas
我是一名优秀的程序员,十分优秀!