据我所知,在EJB 2.x中,客户端使用home接口请求对组件接口的引用,并使用该引用调用Enterprise java bean的业务方法.但是存根和骨架的概念对我来说并不清楚.
对组件接口的引用是否充当存根?然后哪一个充当骨架?
请澄清.
我试图从数据库中的对象做一个简单的加载,但我得到错误"无法初始化代理 - 没有会话",任何想法?谢谢
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.jav a:167)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
com.myapp.domain.User_$$_javassist_0.getLogin(User_$$_javassist_0.java)
com.myapp.validator.UserFormValidator.validate(UserFormValidator.java:34)
Run Code Online (Sandbox Code Playgroud)
@Component
public class UserFormValidator implements Validator {
@Autowired
private UserDAO userDAO;
@Override
public boolean supports(Class<?> clazz) {
return UserForm.class.equals(clazz);
}
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
@Override
public void validate(Object target, Errors errors) {
User user = (User)getUserDAO().findById(new Integer(1));
System.out.println ("User -> " + user.getLogin());
}
}
Run Code Online (Sandbox Code Playgroud)
@Transactional
public class GenericDAOHibernateImpl <T, PK …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用python在vtk中加载NIFTI图像.数据已经使用nibabel加载了,我可以使用pyplot对其进行可视化(每个绘图1个切片,我的数据是ndarray).但是我想加载它有一个ImagePlaneWidget ...就像这样.
我无法加载像imageplanewidget想要的数据(vtkDataSet)......我怎么能这样做?
import nibabel as nib
import matplotlib.pyplot as plt
import vtk
img = nib.load('image.nii.gz')
img_data = img.get_data()
print img_data.shape
def show_slices(slices):
fig,axes = plt.subplots(1, len(slices))
for i, slice in enumerate(slices):
axes[i].imshow(slice.T, cmap="gray", origin="lower")
slice_0=img_data[100, :, :]
slice_1=img_data[:, 100, :]
slice_2=img_data[:, :, 100]
show_slices([slice_0, slice_1, slice_2])
plt.suptitle("Image")
plt.show()
plane = vtk.vtkImagePlaneWidget()
plane.SetInputData(img_data)
Run Code Online (Sandbox Code Playgroud)
非常感谢,我是python和vtk的新手
我希望从具有 UUID 的节点/关系的查询返回一个最小值/最大值。我想将所有 UUID 收集为组,并为每组 UUID 找到最小值/最大值。
我试过
match (u:User) -[r:relation ]-> (n:Node)
return (COLLECT (r.uuid)), max(n.value), min(n.value)
Run Code Online (Sandbox Code Playgroud)
我收到一个列表中的所有 UUID,并从所有 UUID 中收到每个分组的 UUID 的最小值和最大值。如何更改我的查询以获得所需的选择?
例子:
UUID Value
1 1
1 5
1 7
2 3
2 6
Run Code Online (Sandbox Code Playgroud)
结果:1,2 1/7而不是1 1/7 - 2 3/6
我无法使用java配置获得条件弹簧批处理流程.我在春季批次样本,春季批次测试代码或堆栈溢出中看到的样本往往显示条件,其中单个步骤需要在条件上执行,或者它是最后一步,或两者.那不是我需要解决的情况.
在程序伪代码中,我希望它表现得像
initStep()
if decision1()
subflow1()
middleStep()
if decision2()
subflow2()
lastStep()
Run Code Online (Sandbox Code Playgroud)
因此,subflow1和2是有条件的,但init,middle和last总是执行.这是我的剥离测试用例.在当前配置中,它只是在执行subflow1后退出.
public class FlowJobTest {
private JobBuilderFactory jobBuilderFactory;
private JobRepository jobRepository;
private JobExecution execution;
@BeforeMethod
public void setUp() throws Exception {
jobRepository = new MapJobRepositoryFactoryBean().getObject();
jobBuilderFactory = new JobBuilderFactory(jobRepository);
execution = jobRepository.createJobExecution("flow", new JobParameters());
}
@Test
public void figureOutFlowJobs() throws Exception {
JobExecutionDecider subflow1Decider = decider(true);
JobExecutionDecider subflow2Decider = decider(false);
Flow subflow1 = new FlowBuilder<Flow>("subflow-1").start(echo("subflow-1-Step-1")).next(echo("subflow-1-Step-2")).end();
Flow subflow2 = new FlowBuilder<Flow>("subflow-2").start(echo("subflow-2-Step-1")).next(echo("subflow-2-Step-2")).end();
Job job = jobBuilderFactory.get("testJob")
.start(echo("init"))
.next(subflow1Decider)
.on("YES").to(subflow1)
.from(subflow1Decider)
.on("*").to(echo("middle")) …
Run Code Online (Sandbox Code Playgroud) 试图了解super()方法何时被调用.在下面的代码中,Child类有一个带有this()的无参数构造函数,因此编译器无法插入super().那么如何调用父构造函数.
public class Parent
{
public Parent()
{
System.out.println("In parent constructor");
}
}
public class Child extends Parent
{
private int age;
public Child()
{
this(10);
System.out.println("In child constructor with no argument");
}
public Child(int age)
{
this.age = age;
System.out.println("In child constructor with argument");
}
public static void main(String[] args)
{
System.out.println("In main method");
Child child = new Child();
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
In main method
In parent constructor
In child constructor with argument
In child constructor with no argument
Run Code Online (Sandbox Code Playgroud) 如何用Hibernate验证传入的参数?
在XML中
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor">
<property name="validator" ref="validator"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
在Java中
@Validated
public class UserService
@Override
@NotNull
public User registerUser(@NotEmpty String name, String username, String password, boolean google, boolean facebook)
Run Code Online (Sandbox Code Playgroud)
这种方法不起作用我称之为错误参数的方法,验证不起作用.
我正在做一个需要重复配置文件的应用程序.但他们的商业模式包括1个试用期和2个常规期,一个是几天,另一个是每月无限期.
{
"name":"Regular Membership Billing Plan",
"description":"This plan is for regular membership\r\n7 days trial\r\nBilling 23 days after trial\r\ninfinite montly",
"type":"INFINITE",
"payment_definitions":[
{
"name":"7 days trial regular product",
"type":"TRIAL",
"frequency":"WEEK",
"frequency_interval":"1",
"cycles":"1",
"amount":{
"value":"2",
"currency":"USD"
}
},
{
"name":"23 days after trial regular product",
"type":"REGULAR",
"frequency":"DAY",
"frequency_interval":"23",
"cycles":"1",
"amount":{
"value":"5",
"currency":"USD"
}
},
{
"name":"Monthly regular product",
"type":"REGULAR",
"frequency":"MONTH",
"frequency_interval":"1",
"cycles":"0",
"amount":{
"value":"7.99",
"currency":"USD"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我从响应中收到此错误:
"Payment definitions are invalid. Valid parameters are REGULAR or combination of TRIAL …
Run Code Online (Sandbox Code Playgroud) 在我启动Hibernate 5应用程序的那一刻,我发现这些警告就像疯了一样.我怎么能摆脱他们?这是我的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!--
Program developed by Hassan Althaf.
Copyright © 2015, Hassan Althaf.
Website: http://hassanalthaf.com
-->
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connecton.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1:3306/telemart
</property>
<property name="hibernate.connection.username">
root
</property>
<property name="hibernate.connection.password">
php123
</property>
<mapping resource="com/hassanalthaf/telemart/users/User.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/customers/Customer.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/inventory/Product.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/orders/Order.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/orders/OrderItem.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
这是整个输出:
ant -f /Users/hassan/NetBeansProjects/TeleMart/TeleMart jfxsa-run
init:
Deleting: /Users/hassan/NetBeansProjects/TeleMart/TeleMart/build/built-jar.properties
deps-jar:
Updating property file: /Users/hassan/NetBeansProjects/TeleMart/TeleMart/build/built-jar.properties
Duplicated project name in import. Project jfx-impl …
Run Code Online (Sandbox Code Playgroud) 我正在编写junit
测试,我需要从中读取文件src/test/resources
我的代码中有以下代码src/test/java/some_packages/UserTests
:
InputStream inputStream = new FileInputStream(new File("abc.txt"));
Run Code Online (Sandbox Code Playgroud)
该文件当然存在,但是当我运行我的测试时,我得到了 java.io.FileNotFoundException: abc.txt (No such file or directory)
我将资源文件夹标记为intellij中的测试资源