https://spring.io/projects/spring-data
好像没有,只有hadoop
在bean-new.xml 中开启。根据实体类自动创建表
有些有默认值的,如果不改变,可以不写。但有些是必须的。
因为默认需要添加一个persistence.xml文件,在文件中定义实体类,并且这个文件是要在META-INF目录下的。但是也可以更改一些配置,更改后可以不再使用persistence.xml文件。具体更改看这个链接→ https://www.cnblogs.com/taven/p/3351841.html
import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class SpringDataTest { /** * 檢測連接石的正確性 */ private ApplicationContext ctx; @Before public void Setup(){ System.out.println("setup!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); ctx = new ClassPathXmlApplicationContext("beans-b.xml"); System.out.println("setup!!!"); } @After public void tearDown(){ ctx = null; } @Test public void testEntityManagementFactory(){ } }
這個是測試代碼
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.6.Final</version> </dependency>
导包错误,误导入了 hibernate-core 依赖
首先请了解什么是JPA,要使用Spring data jpa那必然要映射实体的
你可以去这个框架的官网上面里面有相应的说明手册 会针对不同的类 有不同配置属性的解释
不要配置的,构建springboot项目的时候勾选jpa就行
据我所知,spring-data没有处理大数据的方案吧
看看你的注释是不是注释的位置不对,@Id 应该放在getId()函数上面,不要放在setId上面。
跟老师的没什么关系,你这就是jar包没下载全,导致的找不到这个,建议你找到删除他就会重新下载,就OK啦,Good luck
比如:对于name属性
@Column(length = 20)
public void setName(String name) {
this.name = name;
}
两者底层的实现原理是不一样的,注解写在属性上,是通过反射对属性值强行访问,因为属性往往是私有的,这样写就破坏了java的封装性原则,你在属性上写的private就失去了意义,而且注解直接写在属性上,一些数据内容较多的字段,或者外键约束等复杂字段上,会对你的表的构建有所影响。而写在方法上,底层是通过反射正常调用set或个get方法,这样一般不会出现意外情况的。所以我建议你把注解写在方法上!
@Column(length = 20,nullable = false,columnDefinition ="text" ),columnDefinition 这个属性是设置数据表字段类型的,生成表的字符集设置,没有提供这个注解,但是可以覆盖MySQL5InnoDBDialect这个类的getTableTypeString方法,达到修改字符集的目的,希望对你有帮助
刚才亲自试验把注解放在方法set()中,会出现一模一样的错误
jar包不完全,删了重新下载就可以啦
找到问题就好
放在 src/main/resources/ 文件夹里(没有该目录就新建一个); target 目录里面是 编译后自动生成的字节码。
maven导包不正确!!!