我正在使用Chosen的多重选择.我希望能够跟踪用户选择的订单.例如,如果用户先选择option2然后选择option1,我想按option2和option1的顺序选择结果.但是选择了用户选择的选项.有没有办法告诉我们选择不对结果进行排序?
public interface UserRepository extends JpaRepository<User, Long> {
@Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?0", nativeQuery = true)
User findByEmailAddress(String emailAddress);
}
Run Code Online (Sandbox Code Playgroud)
假设我有上面的代码,我从用户那里选择*.如果我不希望此方法返回User对象,该怎么办?有没有办法我可以手动将数据映射到自定义对象MyUser?我可以在UserRepository界面中完成所有这些吗?
谢谢!
我有一个字段 id 定义如下。它是数据库中的 varbinary(16),当我通过 JPA 插入新记录时,我得到“com.mysql.jdbc.MysqlDataTruncation:数据截断:第 1 行的列“ID”的数据太长”。我究竟做错了什么?
@Id
@Column(name="ID")
private UUID id;
Run Code Online (Sandbox Code Playgroud) 我有一个以 UserId 作为主键的 USER 表,它在 MySQL 中是 int 和自动递增的。
@Id
@GeneratedValue
@Column(name="USER_ID")
private Integer userId;
Run Code Online (Sandbox Code Playgroud)
当我运行 userRepository.save(user); 我收到一条错误消息:org.springframework.beans.InvalidPropertyException: Invalid property 'userId' of bean class [com.mysite.model.User]: Getter for property 'userId' throw exception; 嵌套异常是 java.lang.reflect.InvocationTargetException
如果我只是对用户 ID 进行硬编码,则不会出现此错误。我究竟做错了什么?
// hard code it
user.setUserId(5);
userRepository.save(user);
Run Code Online (Sandbox Code Playgroud) 我在eclipse中编写代码,代码运行正常,但是当我尝试通过运行来构建它时build.xml.我正进入(状态
Java Virtual Machine Launcher: Could not find the main class. Program will exit.
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我使用EclipseLink从MySQL生成我的所有对象,我有一个名为的字段CONTACT_ID.当我想要的时候em.persist(contact),我得到一个错误的消息说" Unknown column 'CONTACTID'".
我搜索了我的项目和数据库,我没有任何列名称CONTACTID.不知何故,JPA删除了此列名称中的"_".我确信这是非常愚蠢的事情,我无法找出原因.
这是我的数据库设计:

User.java:
@EmbeddedId
private UserPK id;
private int score;
//bi-directional many-to-one association to CmnContact
@ManyToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn (name="CONTACT_ID")
private CmnContact cmnContact;
//bi-directional many-to-one association to Login
@ManyToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn (name="LOGIN_ID")
private Login login;
Run Code Online (Sandbox Code Playgroud)
CmnContact.java:
@Id
@JoinColumn(name="CONTACT_ID")
private String contactId;
//bi-directional many-to-one association to User
@OneToMany(mappedBy="cmnContact")
private List<User> users;
Run Code Online (Sandbox Code Playgroud)
UserPK.java:
@Column(name="USER_ID")
private UUID userId;
@Column(name="CONTACT_ID", insertable=false, updatable=false)
private UUID contactId;
@Column(name="LOGIN_ID", insertable=false, updatable=false)
private UUID …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行maven目标:验证并继续获取:[警告]无法激活请求的配置文件"pom.xml",因为它不存在.
在我的org.eclipse.m2e.core.prefs中:
activeProfiles=pom.xml
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我有 CATEGORY、AD 和 CATEGORY_AD 表,典型的多对多关系。不知何故,CATEGORY_AD 表中没有插入任何内容。我错过了什么?
在 Category.java 中:
@ManyToMany
@JoinTable(name = "CATEGORY_AD", joinColumns = {
@JoinColumn(name = "CATEGORY_ID", referencedColumnName = "ID") }, inverseJoinColumns = {
@JoinColumn(name = "AD_ID", referencedColumnName = "ID") })
private List<Ad> ads;
Run Code Online (Sandbox Code Playgroud)
在 Ad.java 中:
@ManyToMany(mappedBy = "ads")
private List<Category> categories;
Run Code Online (Sandbox Code Playgroud)
在我的服务类中:
Category laCat = new Category();
laCat.setId(categoryId);
laCat.getAds().add(ad);
ad.getCategories().add(laCat);
ad = adRepository.saveAndFlush(ad);
Run Code Online (Sandbox Code Playgroud)