所以我想要一个“Void Repository”,通过它可以访问不一定在实体上操作的存储过程。
@Repository
public interface StoredProceduresRepository extends CrudRepository<Void, Long> {
@Procedure("my_answer_giver")
String getMyAnswer(@Param("input") String input);
}
但这当然不起作用,因为CrudRepository
期望Void
是一个实体。
有没有一种方法可以使用@过程
注释而无需创建虚拟实体,或者我是否坚持使用使用EntityManager
通过准备好的语句进行查询的已实现类?
因为老实说,这很难看:
@Repository
public class StoredProceduresRepository {
@PersistenceContext
EntityManager em;
public String getMyAnswer(String input) {
Query myAnswerGiver = em
.createStoredProcedureQuery("my_answer_giver")
.registerStoredProcedureParameter("input", String.class, ParameterMode.IN)
.setParameter("input", input);
Object result = ((Object[]) myAnswerGiver.getSingleResult())[0];
return (String) result;
}
}
如果可以的话,您可以使用您拥有的任何实体来代替此空。在那里提供的实体应该无关紧要。
public interface StoredProceduresRepository extends JpaRepository<SomeUnrelatedEntity, Long> {
@Procedure("my_answer_giver")
String getMyAnswer(@Param("input") String input);
}
我一直在数据库视图中这样使用它。
问题内容: 我正在开发一个简单的Webapp,它将域模型公开为RESTful资源。我打算将JPA2(Hibernate)与SpringMVC REST支持一起使用。 在将Hibernate实体编组为XML / JSON时,如果该实体分离,它将为惰性子项关联抛出LazyLoadingException。如果实体仍然连接到Hibernate Session,它将几乎加载整个数据库。 我尝试使用推土机C
我有以下2个实体: 它们有共享字段/列,例如:等,但是每个主键id字段的名称不同,例如有和 有没有一种方法可以创建一个基本实体超类来保存这些通用的
我再次编写另一个银行系统插件,但这次是使用ATM。我正在尝试弄清楚如何在单击该选项后获得玩家聊天输入,以防止单击100次以在银行帐户上存入50,000美元。 我正在用Paper-Spigot 1.14.4编写这个插件,我尝试了以下步骤: 作为一个单独的类,仅当我向插件管理器注册事件时才激活: 使用 get 和 set-method创建一个 变量 ,并在需要时在该方法中调用它。 我当前的方法: 获取
问题内容: 使用JSch,有没有办法在不执行ls并循环浏览文件以查找名称匹配的情况下,确定是否存在远程文件? 谢谢 问题答案: (这是如果您使用的是库的SFTP部分,这是我没有考虑的假设。) 我以为它会接受文件名。我目前无法检查。 如果不是这样,则无需手动进行迭代。您可以使用选择器变体:
是否可以在没有实体的情况下使用JpaRepository?在这种情况下,将其替换为DTO。 如下示例所示 这种情况有替代方案吗? 注意:DTO已经映射,但我不想创建视图来将此DTO转换为实体。 我已经验证了这个主题,但没有重大进展,请使用无实体的JpaRepository交互样式 我在试这个 接口- 公共接口BffDTOInterface2{ } 我有这个错误
我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?