我正在尝试执行一个简单的MySQL查询,如下所示:
INSERT INTO user_details (username, location, key)
VALUES ('Tim', 'Florida', 42)
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
错误1064(42000):您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便
'key) VALUES ('Tim', 'Florida', 42)'在第1行附近使用正确的语法
我该如何解决这个问题?
我真的需要帮助,我搜索了我在stackoverflow上发现的所有问题,但没有任何作用.我之前从未使用过hibernate而且我不知道我做错了什么.
这是我的存储库:https
://github.com/ionutincau/test_db
我收到此错误:
"C:\Program Files\Java\jdk1.8.0_111\bin\java" "-javaagent:E:\Applications\IntelliJ\IntelliJ IDEA Community Edition 2017.1\lib\idea_rt.jar=50372:E:\Applications\IntelliJ\IntelliJ IDEA Community Edition 2017.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_111\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\rt.jar;C:\Users\ionut\IdeaProjects\test_db\out\production\test_db;C:\Users\ionut\IdeaProjects\test_db\lib\mysql-connector-java-5.1.41-bin.jar;C:\Users\ionut\IdeaProjects\test_db\lib\hibernate-core-5.2.9.Final.jar;C:\Users\ionut\IdeaProjects\test_db\lib\antlr-2.7.7.jar;C:\Users\ionut\IdeaProjects\test_db\lib\classmate-1.3.0.jar;C:\Users\ionut\IdeaProjects\test_db\lib\dom4j-1.6.1.jar;C:\Users\ionut\IdeaProjects\test_db\lib\hibernate-commons-annotations-5.0.1.Final.jar;C:\Users\ionut\IdeaProjects\test_db\lib\hibernate-jpa-2.1-api-1.0.0.Final.jar;C:\Users\ionut\IdeaProjects\test_db\lib\jandex-2.0.3.Final.jar;C:\Users\ionut\IdeaProjects\test_db\lib\javassist-3.20.0-GA.jar;C:\Users\ionut\IdeaProjects\test_db\lib\jboss-logging-3.3.0.Final.jar;C:\Users\ionut\IdeaProjects\test_db\lib\jboss-transaction-api_1.2_spec-1.0.1.Final.jar;C:\Users\ionut\IdeaProjects\test_db\lib\hibernate-jpamodelgen-5.2.9.Final.jar" Main
Apr 03, 2017 9:05:50 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.9.Final}
Apr 03, 2017 9:05:50 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Apr 03, 2017 9:05:51 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations …Run Code Online (Sandbox Code Playgroud) 我们正在决定工作开发团队的表,列,程序等的命名约定.单数复数表命名已经确定,我们使用单数.我们正在讨论是否为每个表名使用前缀.我想阅读有关使用前缀的建议,以及原因.
它是否提供任何安全性(对于可能的入侵者至少还有一个障碍)?我认为用前缀命名它们通常会更舒服,以防我们在代码中使用表名,所以不要将它们与变量,属性等混淆.但我想阅读更有经验的开发人员的意见.
在新数据库表中命名列时遇到的一个常见问题是用于对子类型进行分类的正确名称。最自然的列名称通常是type,但是我尽量避免在命名中使用SQL关键字或保留字。
我知道在MySQL和Postgres中这type都是一个非保留关键字,因此我可以使用它,但是应该吗?
当前type用作列名的最佳做法是什么?是否有一个同义词如此广泛地等同,以至于使用它就有意义了?
多年来,我花了很多时间来尝试选择其他名称,在过去一周的讨论中,这两次出现,所以我想看看是否有明确的共识?
万一它对其他人有帮助,我过去用来解决这个问题的一些替代方法包括:
type_ofclasscategorysubtypekind我使用spring MVC,JPA,postgreSQL开发Web应用程序
这是一些代码:
文件:user.java
@Entity
@Table(name = "USER")
public class User implements Serializable{
private Long id;
private String name;
private DateTime birthDate;
private String address;
private String email;
private String phone;
private String username;
private String password;
private boolean isActive;
private String lastModifiedPerson;
private DateTime createdDate;
private DateTime lastModifiedDate;
private int version;
private Set<Role> roles = new HashSet<Role>();
private Set<Entry> entrys = new HashSet<Entry>();
private Set<EntryComment> comments = new HashSet<EntryComment>();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ID")
public Long getId() {
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 postgres 数据库设置 Spring Boot 项目。我的实体是:-
用户
@Entity
public class User implements UserDetails {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id", nullable = false, updatable = false)
private Long id;
private String username;
private String password;
private String firstName;
private String lastName;
@Column(name="email", nullable = false, updatable = false)
private String email;
private String phone;
private boolean enabled=true;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JsonIgnore
private Set<UserRole> userRoles = new HashSet<>();
public Long getId() {
return id;
}
public void setId(Long …Run Code Online (Sandbox Code Playgroud) mysql ×3
hibernate ×2
java ×2
postgresql ×2
sql ×2
database ×1
jdbc ×1
jpa ×1
spring ×1
spring-boot ×1
spring-mvc ×1