当前位置: 首页 > 面试题库 >

JPA @Table批注“ catalog”和“ schema”变量用于什么?

杨乐
2023-03-14
问题内容

为什么这些重要,它们对手头的数据库有什么影响?

这时是否已经确定了“模式”,因为它已存在于数据库中?

什么是“目录”?JPA目录字段期望什么样的变量/输入?同样,对于“模式”字段也有相同的问题。


问题答案:

目录和模式是您在数据库服务器端定义的“名称空间”。一些数据库包含架构,一些数据库包含目录,而另一些包含两者。使用特定用户登录时,某些数据库会将架构/目录默认为该用户的名称空间,从而导致该表对其他用户不可见,因此,需要使用“公共”名称空间。因此,根据用于备份数据的数据库,您可能要忽略这些设置。

对于MySQL,您可能要忽略这些设置。这是因为JDBC
URL的“数据库”部分(最后一个斜杠后的部分)指向数据库名称,该名称在语义上与模式(对于MySQL)相同。



 类似资料:
  • 问题内容: 使用这些批注的重点是要独立于数据库提供程序,而不是重新生成JAR存档。 如果我坚持不懈,那么我首先看不到使用hibernate的意义。如果确实决定切换到其他数据库提供程序,则必须修改类中的注释,然后重新编译应用程序。 问题答案: @Table 批注:@Table批注允许您指定用于将实体保留在数据库中的表的详细信息。 @Table批注提供了四个属性,使您可以覆盖表的名称,目录和架构,并对

  • 问题内容: 我正在从本教程中学习JPA 。 我在理解以下注释时有些困惑: 可嵌入类型的字段默认为持久性,就像用@Embedded注释一样。 如果可嵌入类型的字段默认为持久性,那么为什么我们需要注释 问题答案: 该注解允许指定一个类,其实例存储为拥有实体的固有部分。此注释 没有属性 。 该注释用于指定其值是一个可嵌入类的实例实体的持久字段或属性。默认情况下,类中指定的列定义适用于拥有实体的表,但是

  • 问题内容: Java具有关键字。为什么JPA拥有而不是简单地使用已经存在的java关键字? 问题答案: Java的关键字用于表示不对字段进行序列化,而JPA的注释用于表示不将字段保留在数据库中,即它们的语义不同。

  • 我正在使用带有JPA的Spring Boot与数据库连接。我需要在实体上的@table注释中设置“catalog”属性。 有没有人知道其他的方法,比如application.properties文件,而不是硬编码的字符串,来改变它? 如果有任何解决办法,我将不胜感激。

  • 问题内容: 我在我们的项目和Hibernate Domain Pojo对象的基于注释的配置中使用Hibernate。对于基于注释的配置,我们有两个选择 使用基于JPA的注释 使用Hibernate本机注释 当前,我们对POJO文件使用基于JPA的注释配置,并使用Hibernate本机API(如SessionFactory,Session等)打开会话并执行数据库操作。 我有以下问题: 混合使用JPA

  • 问题内容: 批注在JPA中如何工作? 我找到了各种答案,摘录如下: JPA使用实体中的版本字段来检测对同一数据存储记录的并发修改。当JPA运行时检测到尝试同时修改同一记录的尝试时,它将向尝试最后提交的事务抛出异常。 但是我仍然不确定它是如何工作的。 同样从以下几行开始: 您应该考虑版本字段是不变的。更改字段值会产生不确定的结果。 这是否意味着我们应该将version字段声明为? 问题答案: 但是我